<script>
  import $ from 'dfish-widget'
  import Widget from '../Widget.vue'
  import src from '../widget.src.js'

  export default {
    mixins: [Widget],
    data() {
      return {
        name: 'Submit',
        remark: '执行Submit命令，提交当前view的表单数据到服务器。返回一个Promise',
        hasCommon: false,
        isW: false,
        extends: [src],
        attrs: [{
          name: 'data',
          remark: 'post提交的数据',
          type: 'Object / String',
        }, {
          name: 'range',
          remark: '指定一个 widget key，只提交这个 widget 内的表单数据。多个 key 用逗号隔开。如果以感叹号 ! 开头，则表示排除 widget 内的表单数据。也可以传入一个widget对象或HTML节点对象',
          type: 'String / HTMLElement',
        }, {
          name: 'src',
          remark: '提交数据的目标URL。其中$0,..$n变量会根据cmd()方法提供的args部分来替换',
          type: 'String',
        }, {
          name: 'loading',
          remark: '是否显示一个加载提示框',
          type: 'Boolean / Loading',
        }, {
          name: 'download',
          remark: '是否下载',
          type: 'Boolean',
        }, ],
        examples: [{
          remark: '点击"保存"按钮，提交view的所有表单数据',
          type: 'html',
          code: `
            <template>
              <w-view>
                <w-grid>
                  <w-text name="user" :label="{text:'用户名'}"></w-text>
                  <w-password name="pwd" :label="{text:'密码'}"></w-password>
                </w-grid>
                <w-button @click="save" text="保存"></w-button>
              </w-view>
            </template>
            <${'script'}>
              import $ from 'dfish-widget'
              export default {
                methods: {
                  save(e) {
                    $(e).cmd({
                      type: 'Submit',
                      src: 'post/add',
                      data: {id: '123'}
                    }).then(data => {
                      console.log(data)
                    })
                }
              }
            </${'script'}>
            `
        }]
      }
    }
  }
</script>
